﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;

namespace LibraryMusicStore
{
    [MetadataType(typeof(OrderMetadata))]
    public partial class Order
    {
        //validation rules for order class

        [Bind(Exclude="OrderId")]
        public class OrderMetadata
        {
            [Required(ErrorMessage="Nhập họ tên")]
            [DisplayName("Họ Tên")]
            public object FullName { get; set; }

            [ScaffoldColumn(false)]
            public object LastName { get; set; }

            [Required(ErrorMessage = "Nhập địa chỉ")]
            [DisplayName("Địa chỉ")]
            //[StringLength(70)]
            public object Address { get; set; }

            [Required(ErrorMessage = "Nhập thành phố")]
            [DisplayName("Thành phố")]
            [StringLength(50, ErrorMessage = "50 kí tự")]
            public object City { get; set; }

            //[Required(ErrorMessage = "State is required")]
            //[StringLength(40)]
            [ScaffoldColumn(false)]
            public object State { get; set; }

            //[Required(ErrorMessage = "Postal Code is required")]
            [ScaffoldColumn(false)]
            [DisplayName("Postal Code")]
            //[StringLength(10)]
            public object PostalCode { get; set; }

            //[ScaffoldColumn(false)]
            [Required(ErrorMessage = "Nhập quốc gia")]
            [DisplayName("Quốc gia")]
            [StringLength(50, ErrorMessage = "50 kí tự")]
            public object Country { get; set; }

            [Required(ErrorMessage = "Nhập số điện thoại")]
            [DisplayName("Điện thoại")]
            [StringLength(20, ErrorMessage = "20 kí tự")]
            public object Phone { get; set; }

            [Required(ErrorMessage = "Nhập email")]
            [DisplayName("Email")]
            [RegularExpression(@"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}",
                ErrorMessage = "Email không hợp lệ.")]
            [DataType(DataType.EmailAddress)]
            public object Email { get; set; }

            [ScaffoldColumn(false)]
            public object OrderId { get; set; }

            [ScaffoldColumn(false)]
            public object OrderDate { get; set; }

            [ScaffoldColumn(false)]
            public object Username { get; set; }

            [ScaffoldColumn(false)]
            public object Total { get; set; } 
        }
    }
}
